package com.ybkj.o2o.zhuanche.mapper;

import com.ybkj.o2o.zhuanche.common.query.CarTypeCompanyQuery;
import com.ybkj.o2o.zhuanche.entity.CarTypeCompany;
import com.ybkj.o2o.zhuanche.entity.CarTypeCompanyCriteria;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;

public interface CarTypeCompanyMapper extends
    BaseMapper<CarTypeCompany, CarTypeCompanyCriteria, Long> {
  Long countByExample(CarTypeCompanyCriteria example);

  int deleteByExample(CarTypeCompanyCriteria example);

  int deleteByPrimaryKey(Long id);

  int insert(CarTypeCompany record);

  int insertSelective(CarTypeCompany record);

  List<CarTypeCompany> selectByExampleWithRowbounds(CarTypeCompanyCriteria example,
      RowBounds rowBounds);

  List<CarTypeCompany> selectByExample(CarTypeCompanyCriteria example);

  CarTypeCompany selectByPrimaryKey(Long id);

  int updateByExampleSelective(@Param("record") CarTypeCompany record,
      @Param("example") CarTypeCompanyCriteria example);

  int updateByExample(@Param("record") CarTypeCompany record,
      @Param("example") CarTypeCompanyCriteria example);

  int updateByPrimaryKeySelective(CarTypeCompany record);

  int updateByPrimaryKey(CarTypeCompany record);

  
  
  List<CarTypeCompany> findByCompanyIdAndCarTypeId(CarTypeCompanyQuery carTypeCompanyQuery);

  Long countByCarTypeId(CarTypeCompanyQuery carTypeCompanyQuery);


  Long deleteByCarTypeId(@Param("carTypeId")Long carTypeId, @Param("appKey")String appKey);

  List<CarTypeCompany> countType(@Param("companyId")Long companyId, @Param("appKey") String appKey);
}
